To provide versatility, computers may connect to one or more devices. Examples of devices include printers, scanners, faxes, cameras, microphones and personal digital assistants (PDA's). Such devices may be connected to the computer over one or more transports, such as a Universal Serial Bus (USB) or a Bluetooth link.
From the perspective of the computer, each of these devices performs a “function.” Each function may be connected to the computer using a transport. A transport may be a wired bus, such as a USB or a wireless transport, such as a Bluetooth link.
The computer may discover each function through a driver associated with a specific transport that in turn interfaces to the function through a device driver. The device driver may contain instructions to configure the function, obtain status information about the function or control operation of the function. These capabilities to interact with the device through the device driver may be exposed to a user of the computer through one or more user interfaces, such as a “control panel’ or programmatic interfaces.
Some devices, called multi-function devices, perform multiple functions. For example, a device may provide a printer, scanner and fax functions in a single physical package. Each such function is associated with a driver. When multi-function devices are connected to a computer system, the system recognizes the individual functions and applications that can use the functions.